Packet based game non-player character server, method for providing non-player character, and game system using the same

ABSTRACT

The present invention relates to a packet based artificial intelligence game NPC server, method for providing an artificial intelligence NPC, and game system thereof which are applied to various on-line games on the basis of packet information without source code correction, using data obtained in each game server, and provides: storing game information specialized for each game server; receiving game packet data from the game server; interpreting the game packet data to convert the interpreted game packet data into metadata; storing a protocol header and parameter information of the metadata; receiving the protocol header and parameter information to generate data and action of an NPC according to a command (protocol header) of the metadata; and delivering the generated data and action of an NPC to the game server.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to Korean Patent Application No. 10-2011-0088060 filed on Aug. 31, 2011 and all the benefits accruing therefrom under 35 U.S.C. §119, the contents of which are incorporated by reference in their entirety.

BACKGROUND

The present invention relates to a packet based game Non-Player Character (NPC) server, method for providing an NPC, and game system thereof, and more particularly, to a packet based game NPC server, method for providing artificial intelligence NPC, and game system thereof which are applied to various online games on the basis of packet information without source code correction, using data obtained in each game server.

Online gaming is an industry that advances quickly at home and abroad, and in particular, Korea is recognized internationally for having highly advanced online gaming server technology.

Currently, in addition to the rapid progress being made in the Korean game industry, many advances have been made in terms of value and technology. Among them, the expedient development and growth of online games has resulted in the online game industry establishing a solid foothold as one of the major entertainment industries, where a quarter of the Korean population enjoys online games.

In addition to such progress, games are rapidly becoming a form of cultural content, and the requirements of game users are becoming more diversified.

Currently, an NPC server is included in a game server group, and is essential for games requiring users to play characters other than themselves, such as a Massively Multiplayer Online Role Playing Game (MMORPG).

Most large MMORPGs have a separated NPC server, and small and medium Multiplayer Online (MO) games have a server including an AI module.

However, as shown in FIG. 1, a related art game server 1 includes a PNC server 2 corresponding to the game server 1, and a game protocol header file 4 is used, because the game server 1 and NPC server 2 is required to smoothly communicate with each other. Here, a client 3 should be implemented with the same game protocol header file 4 because the client 3 accessing each game server 1 can communicate only when the game protocol header files are the same.

Accordingly, even when implementing various games, an NPC server corresponding to each game should be provided. Thus, much labor, cost, and time are needed whenever an NPC server is implemented.

Moreover, the action pattern of NPCs in games restrictively shows a nearly fixed pattern due to technical or existing infrastructural limitations despite the requirements of the users.

This simple action pattern of NPCs becomes a factor that deters modern advanced users from having the motivation to become immersed in a game. In order to keep users who have accessed a game in the game, it is not enough to simply have other users who have the same position as the users in the game.

That is, since users cannot always be connected to a game, there should be NPCs existing in a virtual world in an online game that interact with users. NPCs with AI which can make them smarter or appear smarter can provide continuous enjoyment to users.

Accordingly, the provision of an NPC having various action patterns is required.

SUMMARY

The present invention provides a packet based game NPC server, a method for providing an artificial intelligence NPC, and a game system using the same, which acquire data information and network protocol of various game servers and provide a corresponding NPC to each game server, not depending on a specific game.

The present invention also provides a packet based game NPC server, a method for providing an artificial intelligence NPC, and a game system using the same, which provides an NPC having various action patterns through repetitive responses to various users on another game.

The technical objects of the invention are not limited to the aforesaid.

According to an embodiment, a packet based game NPC server includes: a network communication processing unit receiving game packet data from a plurality of game servers and delivering action and data of a Non Player Character (NPC) to each of the game servers; a packet metadata processing unit interpreting the game packet data received from the network communication processing unit into a metadata format of protocol header and parameter information, according to a predefined command; a data metadata processing unit converting the parameter information received from the packet metadata processing unit into a metadata format of structure information; an internal data structure processing unit storing the converted parameter data delivered from the data metadata processing unit; a game information metadata processing unit storing game information specialized for each of the game servers; and an artificial intelligence algorithm processing unit receiving data according to the protocol header which is received from the packet metadata processing unit, and receiving the game information from the game information metadata processing unit to deliver data and action of the NPC to the packet metadata processing unit.

The packet based game NPC server may further include a knowledge DB which accumulates and stores a plurality of processed input and output values from the artificial intelligence algorithm processing unit.

The game information of the game information metadata processing unit may include one or more of a game map, a village location, a monster position, and item information.

The game packet data may include one or more of a communication protocol, an ID, a command, and a parameter information.

According to another embodiment, a method for providing an artificial intelligence NPC includes: storing game information specialized for each game server; receiving game packet data from the game server; interpreting the game packet data to convert the interpreted game packet data into metadata; storing protocol header and parameter information of the metadata; receiving the protocol header and parameter information to generate data and action of an NPC according to a command (protocol header) of the metadata; and delivering the generated data and action of an NPC to the game server.

The method for providing an artificial intelligence NPC may further include storing and databasing the data and action of an NPC.

The method for providing an artificial intelligence NPC may further include determining a type of the game server on the basis of information of the game server which is comprised in the game packet data.

According to yet another embodiment, a game system includes at least two or more game servers providing different games, respectively; and an NPC server converting a protocol header of each of the game servers into metadata and previously stores the metadata, analyzing game packet data delivered from a specific game server to determine parameter information and action of a user character with the previously stored metadata, and providing an NPC, which takes an intelligent action corresponding to the user character's action to the corresponding game server.

The NPC sever may include a knowledge DB, and store and databases an action pattern of the NPC provided to the game server.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments can be understood in more detail from the following description taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a view illustrating a coupling aspect of a typical NPC server and game server;

FIG. 2 is a block diagram illustrating a packet based NPC server according to an embodiment of the present invention;

FIG. 3 is a view illustrating an example of FSM;

FIG. 4 is a view illustrating a game system using a packet based NPC server according to an embodiment of the present invention; and

FIG. 5 is a flow chart illustrating a method of providing an artificial intelligence NPC according to an embodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS

Preferred embodiments of the present invention will be described below in more detail with reference to the accompanying drawings. Like elements in drawings are indicated with like reference numerals throughout as far as possible. Moreover, detailed descriptions related to well-known functions or configurations will be ruled out in order not to unnecessarily obscure subject matters of the present invention.

FIG. 2 is a view illustrating a packet based Non Player Character (NPC) server according to an embodiment of the present invention, and an NPC server 100 includes a network communication processing unit 110, a packet metadata processing unit 120, a data metadata processing unit 130, an internal data structure processing unit 140, a game information metadata processing unit 150, an artificial intelligence algorithm processing unit 160, and a knowledge DB 170.

The network communication processing unit 110 communicates with a game server 10 and receives game packet data of the game server 10. In this case, the game packet data may be received as the raw binary data, include one or more of a communication protocol, an ID, a command (protocol header), and parameter information, and have a different length in a game packet data according to the game server 10.

The accessed game server can be seen through the communication protocol.

The packet metadata processing unit 120 interprets a metadata format of protocol header and parameter information using the game packet data and predefined command which are received from the network communication processing unit 110. In this case, a game packet header file of the game server 10 is converted into metadata (XML) and stored according to the predefined command.

For example, as shown in [Table 1], the game packet header file (See (a) of Table 1) planned in the game server 1 is received in the packet metadata processing unit 120, and then is stored in the same format as the packet metadata (See (b) of Table 1).

TABLE 1 (a) (b) struct pk_move   <packet name= “PK_MOVE” data= “04 00” > {    <parameter name= “ID” type= “INT” /> int protocol;    <parameter name= “POS_X”  int id; type= “FLOAT” />  float pos_x    <parameter name= “POS_Y”  float pos_y type= “FLOAT” />  float pos_z    <parameter name= “POS_Z” }; type= “FLOAT” />   </packet>

As described above, the packet metadata processing unit 120 may confirm the packet name of the received game packet data, using the stored packet metadata (See (b) of Table 1).

Herein, the game packet data may include information of the game packet header in a binary format.

For example, when a header of received packet data is “04 00”, the packet metadata processing unit 120 can see the name of the packet PK_MOVE being a protocol header of the game server 10, and interpret the name as POS_X, POS_Y, and POS_Z in a float type being parameter information.

The data metadata processing unit 130 converts parameter information received from the packet metadata processing unit 120 into a metadata format of structure information.

The internal data structure processing unit 140 stores the converted parameter data delivered from the data metadata processing unit 130. In this case, the internal data structure processing unit 140 may generate and manage a data structure such as an array, a list, and a map.

The game information metadata processing unit 150 stores game information which is specialized for each game server, in a metadata format. In this case, the game information may include one or more of a game map, a village location, a monster position, and item information, but include all information needed to provide a game. That is, the category of game information is not limited thereto.

The artificial intelligence algorithm processing unit 160 receives data according to a protocol header received from the packet metadata processing unit 120 from the internal data structure processing unit 140 and receives game information from the game information metadata processing unit 150 to deliver data and action of an NPC to the packet metadata processing unit 120. In this case, a game logic of the artificial intelligence algorithm processing unit 160 according to an embodiment of the present invention is constructed in the Finite State Machine (FSM) format, but is not limited to the FSM algorithm.

Herein, the FSM is a regulation based system in which a finite number of states are connected in a graph that is controlled by the transition between the states.

For example, as shown in FIG. 3, a state of a character is classified into several categories, and the state changes according to the change of environments. More particularly, when finding an enemy during movement, the character chases, approaches, and then attack the enemy. When the battle is ended after the attack, the character moves to find another enemy.

An NPC has various roles and acts more intelligently due to the game information delivered in this method.

The knowledge DB 170 accumulates and stores a plurality of processed input and output values from the artificial intelligence algorithm processing unit 160. In this case, the knowledge DB 170 stores data and output action according to the command (protocol header) and parameter information of game packet data input from the game server 10.

The packet based intelligence game NPC server configured as described above, as shown in FIG. 4, forms a game system by including: at least two or more game servers 11 and 12 which are provides different games, respectively; and an NPC server 100 which converts a protocol header of each of the game servers into metadata and previously stores the metadata, analyzes game packet data delivered from a specific game server to determine parameter information and action of a user character with the metadata, and provides an NPC taking an intelligent action corresponding to the user character's action to the corresponding game server.

The game servers 11 and 12 each deliver information on the movement of a user character directed by a user in the NPC server 100, and the NPC server 100 provides an NPC intelligently responding to the user character's movement.

Thus, a database of action patterns of a new NPC corresponding to each of the game servers 11 and 12 can be built.

Accordingly, cost and time taken to develop NPC servers corresponding to the game servers 11 and 12 can be reduced, and the action pattern of the NPC corresponding to the movements of a user character for each game server is diversified.

FIG. 5 is a flow chart showing a method of providing an artificial intelligence NPC according to an embodiment of the present invention. First, a game information metadata processing unit 150 stores game information specialized for each game server (S11). In this case, the game information specialized for each game server includes a game map, a village location, a monster position, and item information, which may represent features of each game server well but be not limited thereto.

A network communication processing unit 110 receives game packet data from the game server 10 (S12).

A packet metadata processing unit 120 analyzes the game packet data and converts the analyzed game packet data into metadata (S13). Herein, the game packet data includes a protocol header (command) and parameter information (type and data of the parameter).

Also, the packet metadata processing unit 120 can determine what protocol header and parameter information of what game server the analyzed game packet data is, only when metadata according to a protocol header file of each game server is previously stored.

The packet metadata processing unit 120 delivers and stores the converted protocol header to the artificial intelligence algorithm processing unit 160, and the data metadata processing unit 130 stores parameter information of metadata in an internal data structure processing unit 140 (S14).

The artificial intelligence algorithm processing unit 160 receives the parameter information stored in the internal data structure processing unit 140 and the game information stored in a game information metadata processing unit 150 to generate data and action of an NPC according to a command (protocol header) of the metadata received from the packet metadata processing unit 12 (S15). That is, data is given suitably for the situation to generate an NPC and act, using parameter information changing according to the action of a user character of the game server 10.

For example, when a user character approaches close to an NPC, the NPC receives a parameter on a movement coordinate and movement command of the user character, and generates data such as an action and movement coordinate corresponding to the parameter on a movement coordinate and movement command of a user character.

Moreover, when a user character attacks an NPC, the NPC receives a parameter such as used weapon type and attack command of the user character, and generates data (attack) corresponding to the weapon type and attack command of the user character.

In this way, the data and action of an NPC generated in the artificial intelligence algorithm processing unit 160 are stored and managed in the knowledge DB 170. The same pattern in the artificial intelligence algorithm processing unit 160 on the basis of accumulated activities and data of the NPC may be processed by reflecting the accumulated data to be provided in various action patterns.

The artificial intelligence algorithm processing unit 160 may have a logic implemented with a huge if-else or switch-case statement, and provide action patterns in more various cases according to various responding patterns of users. That is, the same output does not respond to the same input, but different output may be induced from the accumulated data to generate a more practical action pattern (which cannot be expected by a user) despite the same input.

Finally, the data and action of an NPC generated in the artificial intelligence algorithm processing unit 160 are delivered to the packet metadata processing unit 120. The packet metadata processing unit 120 converts the delivered data and action of an NPC in a packet format to be determined by a game server and then delivers the converted data and action to the game server through the network communication processing unit 110 (S16).

Accordingly, an NPC with various action patterns can be provided by sharing the action patterns of NPCs corresponding to various games.

The packet based artificial intelligence game NPC server and artificial intelligence NPC provision method are not limited to operation methods and configurations of embodiments described above. The above embodiments may be configured to have various modifications by selectively combining all or several of the embodiments.

As described above, the present invention can reduce cost and time taken to develop a number of NPC servers by providing NPCs of a plurality of game servers using one NPC server.

And also, an NPC with various action patterns can be provided by sharing the action patterns of NPCs corresponding to various games.

Although the packet based game NPC server, method for providing an NPC, and game system have been described with reference to the specific embodiments, they are not limited thereto. Therefore, it will be readily understood by those skilled in the art that various modifications and changes can be made thereto without departing from the spirit and scope of the present invention defined by the appended claims. 

1. A packet based game Non-Player Character (NPC) server comprising: a network communication processing unit receiving game packet data from a plurality of game servers and delivering action and data of an NPC to the game servers; a packet metadata processing unit interpreting the game packet data received from the network communication processing unit into a metadata format of protocol header and parameter information, according to a predefined command; a data metadata processing unit converting the parameter information received from the packet metadata processing unit into a metadata format of structure information; an internal data structure processing unit storing the converted parameter data delivered from the data metadata processing unit; a game information metadata processing unit storing game information which is specialized for each of the game servers, in a metadata format; and an artificial intelligence algorithm processing unit receiving data, based on the protocol header which is received from the packet metadata processing unit, from the internal data structure processing unit and receiving the game information from the game information metadata processing unit to deliver the data and action of the NPC to the packet metadata processing unit.
 2. The packet based game NPC server of claim 1, further comprising a knowledge database (DB) accumulating and storing a plurality of processed input and output values from the artificial intelligence algorithm processing unit.
 3. The packet based game NPC server of claim 1, wherein the game information of the game information metadata processing unit comprises one or more of a game map, a village location, a monster position, and item information.
 4. The packet based game NPC server of claim 1, wherein the game packet data comprises one or more of a communication protocol, identification (ID), a command, and parameter information.
 5. A method for providing an artificial intelligence Non-Player Character (NPC) comprises: storing game information specialized for each game server; receiving game packet data from the game server; interpreting the game packet data to convert the game packet data into metadata; storing protocol header and parameter information of the metadata; receiving the parameter information and game information to generate data and action of an NPC according to a command (protocol header) of the metadata; and delivering the generated data and action of the NPC to the game server.
 6. The method of claim 5, further comprising storing the data and action of the NPC to build a database of the data and action.
 7. The method of claim 5, further comprising determining a type of the game server on the basis of information of the game server which is comprised in the game packet data.
 8. A game system comprising: at least two or more game servers providing different games, respectively; and an NPC server converting a protocol header of each of the game servers into metadata and previously stores the metadata, analyzing game packet data delivered from a specific game server to determine parameter information and action of a user character with the previously stored metadata, and providing an NPC, which takes an intelligent action corresponding to the user character's action, to a corresponding game server.
 9. The game system of claim 8, wherein the NPC sever comprises a knowledge DB, and builds a database of an action pattern of the NPC which is provided to the game server. 